package lib.gameEngine.core{
	import game.data.constant.message.ErrorMsg;
	
	
	/**
	 * 模型基类用来存储各种持有层数据，它无权对通知进行监听，但是能够发送通知。
	 * 
	 * 强行监听会使程序报错而终止运行
	 * 
	 * 模型基类只提供一个设置数据的方法，而不提供获取数据的方法
	 * 
	 * 这是因为实际应用中，我们对数据的获取会有各种各样的需求，以及繁杂的细化，所以将获取数据的
	 * 
	 * 方法留给具体的子类去编写，是代码拥有最大的灵活性
	 * 
	 * 模型基类也不可以进行获取，注册，删除等行为，只能通过发送通知的模式
	 * 
	 * 告之相应的控制器或者视图进行逻辑运算或显示
	 * 
	 * 
	 * @author Sunix
	 * 
	 */
	public class Model extends Core{
		
		/**
		 * 构造函数
		 * 
		 *  
		 * @param name 模型名称
		 * 
		 */		
		public function Model(name:String){
			super(name);
		}
		
		/**
		 * 设置数据
		 *  
		 * @param obj 数据
		 * 
		 */		
		public function setData(obj:Object):void{	}		
		
		/**
		 * 增加通知监听
		 *  
		 * @param name 通知名称
		 * @param fun  回调函数
		 * 
		 */		
		final override protected function addNotify(name:*,fun:Function):void{ 
			throw new Error(ErrorMsg.CAN_NOT_ADD_NOTIFY);
		}
	}
}